热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

射线|子弹_Ruby‘sAdventrue游戏制作笔记(十五)UnityNPC对话

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Ruby‘sAdventrue游戏制作笔记(十五)UnityNPC对话相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Ruby‘s Adventrue游戏制作笔记(十五)UnityNPC对话相关的知识,希望对你有一定的参考价值。



Ruby's Adventrue游戏制作笔记(十五)UnityNPC对话


  • 前言
  • 一、拖入NPC
  • 二、添加碰撞器
  • 三、使用玩家发射射线的方式检测是否有NPC
  • 四、 给NPC添加对话框
  • 五、给NPC添加脚本
  • 六、设置提示框
  • 七、NPC对话自定义
  • 系列链接




前言

本文章是我学习Unity官方项目项目所做笔记,作为学习Unity的游戏笔记,在最后一章会发出源码,如果等不及可以直接看源码,里面也有很多注释相关,话不多说,让Ruby动起来!
游戏引擎:Unity2020.3


一、拖入NPC


调整动画速度 (ctrl + 6)


二、添加碰撞器

调整大小


三、使用玩家发射射线的方式检测是否有NPC

使用玩家发射射线的方式检测是否有NPC,

设置NPC层级,使射线只会跟NPC层级交互


四、 给NPC添加对话框

添加UI-Canvas

修改 画布为world Space,并修改对话框大小



稍微调整位置

添加背景图片

选择素材

选择锚点,按住Alt键,选择右下角的这个,进行画布填充


创建文本


添加outline使文字更加清晰


五、给NPC添加脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
// NPC交互相关脚本
public class NPCmanager : MonoBehaviour

public GameObject dialogImage; // 对话
// 对话框显示时间
public float showTime = 4;
public float showTimer;
private void Start()

// 初始默认隐藏对话框
dialogImage.SetActive(false);
showTimer = -1;

private void Update()


showTimer -= Time.deltaTime;
if(showTimer < 0)

dialogImage.SetActive(false);



// 显示对话框
public void ShowDialog()

showTimer &#61; showTime;
dialogImage.SetActive(true);


将DialogFrame拖入脚本


六、设置提示框




设置对话时让提示框消失


设置提示框在对话框结束后出现

将对话框拖入进去


七、NPC对话自定义

在NPC脚本中添加

设置文本

将NPC下的TEXT拖入

获得同一个tag下的物品数量
设置robot的tag为Robot




系列链接

Ruby‘s Adventrue游戏制作笔记&#xff08;一&#xff09;Unity创建项目

Ruby‘s Adventrue游戏制作笔记&#xff08;二&#xff09;Unity控制ruby移动

Ruby‘s Adventrue游戏制作笔记&#xff08;三&#xff09;Unity使用tilemap绘制场景

Ruby‘s Adventrue游戏制作笔记&#xff08;四&#xff09;Unity绘制其他元素

Ruby‘s Adventrue游戏制作笔记&#xff08;五&#xff09;Unity解决碰撞抖动和旋转问题

Ruby‘s Adventrue游戏制作笔记&#xff08;六&#xff09;Unity相机跟随玩家移动

Ruby‘s Adventrue游戏制作笔记&#xff08;七&#xff09;Unity采集生命道具

Ruby‘s Adventrue游戏制作笔记&#xff08;八&#xff09;Unity伤害陷阱

Ruby‘s Adventrue游戏制作笔记&#xff08;九&#xff09;Unity添加敌人

Ruby‘s Adventrue游戏制作笔记&#xff08;十&#xff09;Unity添加动画

Ruby‘s Adventrue游戏制作笔记&#xff08;十一&#xff09;Unity角色攻击——发射子弹

Ruby‘s Adventrue游戏制作笔记&#xff08;十二&#xff09;Unity给角色添加简单的特效

Ruby‘s Adventrue游戏制作笔记&#xff08;十三&#xff09;Unity血条UI的显示

Ruby‘s Adventrue游戏制作笔记&#xff08;十四&#xff09;Unity播放游戏音效

Ruby‘s Adventrue游戏制作笔记&#xff08;十五&#xff09;UnityNPC对话

Ruby‘s Adventrue游戏制作笔记&#xff08;十六&#xff09;Unity子弹数量及其UI

Ruby‘s Adventrue游戏制作笔记&#xff08;十七&#xff09;Unity添加游戏胜利条件和失败条件和导出游戏


推荐阅读
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 本文介绍了如何利用 Delphi 中的 IdTCPServer 和 IdTCPClient 控件实现高效的文件传输。这些控件在默认情况下采用阻塞模式,并且服务器端已经集成了多线程处理,能够支持任意大小的文件传输,无需担心数据包大小的限制。与传统的 ClientSocket 相比,Indy 控件提供了更为简洁和可靠的解决方案,特别适用于开发高性能的网络文件传输应用程序。 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • Android 自定义 RecycleView 左滑上下分层示例代码
    为了满足项目需求,需要在多个场景中实现左滑删除功能,并且后续可能在列表项中增加其他功能。虽然网络上有很多左滑删除的示例,但大多数封装不够完善。因此,我们尝试自己封装一个更加灵活和通用的解决方案。 ... [详细]
  • Flutter 2.* 路由管理详解
    本文详细介绍了 Flutter 2.* 中的路由管理机制,包括路由的基本概念、MaterialPageRoute 的使用、Navigator 的操作方法、路由传值、命名路由及其注册、路由钩子等。 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 本文详细解析了使用C++实现的键盘输入记录程序的源代码,该程序在Windows应用程序开发中具有很高的实用价值。键盘记录功能不仅在远程控制软件中广泛应用,还为开发者提供了强大的调试和监控工具。通过具体实例,本文深入探讨了C++键盘记录程序的设计与实现,适合需要相关技术的开发者参考。 ... [详细]
  • 深入解析 Android 中 EditText 的 getLayoutParams 方法及其代码应用实例 ... [详细]
  • 本文介绍了一种利用Dom4j库和JFileChooser组件在Java中实现XML文件自定义路径导出的方法。通过创建一个Document对象并设置根元素,结合JFileChooser选择目标路径,实现了灵活的XML文件导出功能。具体步骤包括初始化Document对象、构建XML结构以及使用JFileChooser选择保存路径,确保用户能够方便地将生成的XML文件保存到指定位置。 ... [详细]
  • 在探讨C语言编程文本编辑器的最佳选择与专业推荐时,本文将引导读者构建一个基础的文本编辑器程序。该程序不仅能够打开并显示文本文件的内容及其路径,还集成了菜单和工具栏功能,为用户提供更加便捷的操作体验。通过本案例的学习,读者可以深入了解文本编辑器的核心实现机制。 ... [详细]
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • 从 Java 过渡到 Ruby,不仅是一次编程语言的转换,更是一段技术进阶的旅程。本文将深入探讨两种语言在语法、生态系统和开发模式上的差异,帮助开发者顺利实现转型,并在新的环境中高效地编写高质量代码。 ... [详细]
  • Android目录遍历工具 | AppCrawler自动化测试进阶(第二部分):个性化配置详解
    终于迎来了“足不出户也能为社会贡献力量”的时刻,但有追求的测试工程师绝不会让自己的生活变得乏味。与其在家消磨时光,不如利用这段时间深入研究和提升自己的技术能力,特别是对AppCrawler自动化测试工具的个性化配置进行详细探索。这不仅能够提高测试效率,还能为项目带来更多的价值。 ... [详细]
author-avatar
phpyang
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有